#ifndef LOGIN_H
#define LOGIN_H

#include <QWidget>
#include <QListView>
#include <QStringListModel>
#include <QStringList>
#include <QApplication>

#include <QUdpSocket>
#include <QThread>
#include <QAbstractSocket>
#include <QUdpSocket>
#include <QTcpSocket>
//QJSON类
#include <QJsonDocument>//提供了一种读取和写入 JSON 文档的方法。
#include <QJsonObject>
//文本流
#include <QTextStream>
#include <QFile>
#include <QTimer>
#include "mqtthandler.h"
#include "globalval.h"

namespace Ui {
class Login;
}

class Login : public QWidget
{
    Q_OBJECT

public:
    explicit Login(QWidget *parent = 0);
    ~Login();

private:
    Ui::Login *ui;

    QUdpSocket *udpSocket;//udp socket对象
    QTcpSocket *tcpSocket;//TCP客户端对象
    QTcpSocket *fliesocket;//tcp文件对象
    QTimer *timer; //心跳包定时器
    QByteArray buffer;

    QHostAddress senderAddress;
    quint16 senderPort;


private slots:
    void on_listView_clicked(const QModelIndex &index);
    void dataUpSlot(QByteArray);//接收数据并显示


    void pushButtonGuang();
    void pushButtonLian();
    void tcpRecv_Sen();
    void heartTimer();//心跳包定时器槽函数
    void on_comboBox_activated(const QString &arg1);
};

#endif // LOGIN_H
